import axios from 'axios'
import qs from 'qs'
import serviceConfig from "@/service/config";

/*************BasicInfo-基本信息模块---begin*************/

/**
 * 获取所有学院信息
 */
export function getAllacademy(){
    return axios({
        method: 'GET',
        url: serviceConfig.baseUrl + '/academy/GET/all',
        responseType: 'json',
        responseEncoding: 'UTF-8',
    })
}

/**
 * 获取所有系别信息
 */
export function getAllDept() {
    return axios({
        method: 'GET',
        url: serviceConfig.baseUrl + '/dept/GET/all',
        responseType: 'json',
        responseEncoding: 'UTF-8',
    })
}

/**
 * 获取用户详细信息
 * @param email 账户名-邮箱号
 */
export function getUserDeatil(email) {
    return axios({
        url: serviceConfig.baseUrl + '/userDetail/GET/userdetailmulti',
        method: 'GET',
        params: { email: email },
    })
}

/**
 * 更新用户详细信息
 * @param userDetail 用户详细信息,建议包含属性如下:
 *         userid:用户账户名-邮箱号
 *         title:职称
 *         name:姓名
 *         workno:职工号
 *         deptno:部门号
 *         age:年龄
 *         gender:性别
 *         tel:联系方式
 *         address:通讯地址
 */
export function updateUserDetail(userDetail) {
    return axios({
        url: serviceConfig.baseUrl + '/userDetail/POST/update/userdetail',
        method: 'POST',
        data: qs.stringify(userDetail),
    })
}

/**
 * 获取用户名为email的成就信息
 * @param email
 */
export function getProgress(email){
    return axios({
        url:serviceConfig.baseUrl+"/common/GET/progress",
        method:"GET",
        params:{email:email},
    })
}


/*************BasicInfo-基本信息模块---end*************/



/*************SafeCenter-安全中心模块---begin*************/
/**
 * 修改密码
 * @param userInfo 用户信息,建议包含如下属性信息:
 *          email:账户名-邮箱号
 *          pswd:新密码
 *          checkpswd:确认新密码
 *          verifycode:验证码
 */
export function modifyPassword(userInfo){
    return axios({
        url: serviceConfig.baseUrl+'/user/POST/update',
        method: 'POST',
        data: qs.stringify(userInfo),
    })
}


/*************SafeCenter-安全中心模块---end*************/


/*************StuAward-学生奖项模块---begin*************/
/**
 * 上报学生奖项信息
 * @param stuAwardObj 学生奖项信息,建议包含属性信息
 *                   email:上报邮箱;
 *                   stuname:获奖学生姓名;
 *                   itemname:项目名称;
 *                   awardname:将项名称
 *                   awardlevel:奖项等级;
 *                   date:获奖日期
 *                   unit:颁奖单位
 *                   evidence:实证文件远程链接地址
 */
export function uploadStuAwardInfo(stuAwardObj){
    return axios({
        url:serviceConfig.baseUrl+"/studentAward/POST/add",
        method:"POST",
        data:qs.stringify(stuAwardObj)
    });
}

/**
 * 检索学生奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：学生姓名关键字,可选
 *              itemnamekey：项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchStuAwardInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/studentAward/GET/all",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除学生信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteStuAwardInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/studentAward/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 更新学生奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          id：记录编号，必选字段
 *          email：指导教师[邮箱名]，必选
 *          stuname：获奖学生姓名
 *          itemname：项目名称
 *          awardname：奖项名称
 *          awardlevel：奖项级别
 *          date：获奖时间
 *          unit：颁奖单位
 *          evidence：实证材料
 */
export function updateStuAwardInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/studentAward/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}

/*************StuAward-学生奖项模块---end*************/


/*************TeacContest-教师竞赛获奖模块---begin*************/


/**
 * 上报教师竞赛获得奖项信息
 * @param stuAwardObj 教学竞赛信息,建议包含属性信息
 *                   email:上报邮箱;
 *                   stuname:获奖学生姓名;
 *                   itemname:项目名称;
 *                   awardname:将项名称
 *                   awardlevel:奖项等级;
 *                   date:获奖日期
 *                   unit:颁奖单位
 *                   evidence:实证文件远程链接地址
 */
export function uploadTeacContestInfo(teacContestObj){
    return axios({
        url:serviceConfig.baseUrl+"/teactestAward/POST/add",
        method:"POST",
        data:qs.stringify(teacContestObj)
    })
}

/**
 * 查询教学竞赛信息
 * @param teacContestObj 查询条件,建议包含属性如下:
 *              email：邮箱号，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：学生姓名关键字,可选
 *              itemnamekey：项目关键字，可选
 *              awardkeys：奖项关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 * @returns {AxiosPromise}
 */
export function searchTeacContestInfo(teacContestObj){
    return axios({
        url:serviceConfig.baseUrl+"/teactestAward/GET/record",
        method:"GET",
        params:teacContestObj,
    })
}

/**
 * 删除师竞赛获得奖项信息
 * @param teacContestObj 教学竞赛信息,建议包含属性信息
 *                  email：邮箱账户，必选
 *                  id：奖项编号，必选
 * @returns {AxiosPromise}
 */
export function deleteTeacContentInfo(teacContestObj){
    return axios({
        url:serviceConfig.baseUrl+"/teactestAward/DELETE/record",
        method:"GET",
        params:teacContestObj,
    })
}

/**
 * 更新教师竞赛奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          id：奖项序号,必选
 *          email：指导教师[邮箱名]，必选
 *          awardname：奖项名称,可选
 *          awardlevel：奖项级别,可选
 *          date：获奖时间,可选
 *          unit：颁奖单位,可选
 *          rankno：排名，可选
 *          evidence：实证材料，可选
 */
export function updateTeacContentInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/teactestAward/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}


/*************TeacContest-教师竞赛获奖模块---end*************/

/*************TeacItem-教学项目获奖模块---begin*************/

/**
 * 教学项目信息上报
 * @param teacItemIno 教学项目JSON对象,建议包含属性信息如下:
 *                  email：指导教师[邮箱名]，必选
 *                  itemname：项目名称,可选
 *                  awardname：奖项名称,可选
 *                  awardlevel：奖项级别,可选
 *                  date：获奖时间,可选
 *                  unit：颁奖单位,可选
 *                  rankno：排名，可选
 *                  evidence：实证材料，可选
 */
export function uploadTeacItemInfo(teacItemIno){
    return axios({
        url:serviceConfig.baseUrl+"/teacitemAward/POST/add",
        method:"POST",
        data:qs.stringify(teacItemIno),
    })
}

/**
 * 检索教学项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchTeacItemInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/teacitemAward/GET/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除学生信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteTeacItemInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/teacitemAward/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          id：记录编号，必选
 *          email：指导教师[邮箱名]，必选
 *          itemname：项目名称,可选
 *          awardname：奖项名称,可选
 *          awardlevel：奖项级别,可选
 *          date：获奖时间,可选
 *          unit：颁奖单位,可选
 *          rankno：排名，可选
 *          evidence：实证材料，可选
 */
export function updateTeacItemInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/teacitemAward/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}

/*************TeacItem-教学项目获奖模块---end*************/


/*************EduReformPaper-教改论文模块---begin*************/

/**
 * 上传教改论文信息
 * @param edurefoemPaper 教改论文信息JSON对象,建议包含属性信息如下:
 *      title：论文标题，必选
 *      journalname：期刊名称，必选
 *      journallevel：期刊级别，必选
 *      publishdate：发表日期，必选
 *      volumeno：卷号，必选
 *      seriesno：期号，必选
 *      pagestart：开始页码，必选
 *      pageend：终止页面
 *      doi：doi号，可选
 *      telauthor：通讯作者名称，可选
 *      captureno：收录号，可选
 *      author：{
 *          author：参与者/信息上报者邮箱，必选
 *          rankno：作者排名，必选
 *          evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *      }
 * @returns {AxiosPromise}
 */
export function uploadEduReformPaper(edurefoemPaper){
    return axios({
        url:serviceConfig.baseUrl+"/paper/POST/add/edureform",
        method:"POST",
        data:qs.stringify(edurefoemPaper)
    })
}

/**
 * 检索教改论文奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchEduReformPaperInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/paper/GET/record/edureform",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除教改论文作者信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteEduReformPaperInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/paper/DELETE/record/edureform",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          title：论文标题，必选
 *          journalname：期刊名称，可选
 *          journallevel：期刊级别，可选
 *          publishdate：发表日期，可选
 *          volumeno：卷号，可选
 *          seriesno：期号，可选
 *          pagestart：开始页码，可选
 *          pageend：终止页面，可选
 *          doi：doi号，可选
 *          telauthor：通讯作者名称，可选
 *          captureno：收录号，可选
 *          author：{
 *              author：参与者/信息上报者邮箱，必选
 *              workid：论文id，必选
 *              rankno：作者排名，必选
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function updateEduReformPaperInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/paper/UPDATE/record/edureform",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}


/*************EduReformPaper-教改论文模块---end*************/

/*************EduReformItem-教改项目模块---begin*************/

/**
 * 上传教改项目信息
 * @param eduformItem 教改项目JSON对象,建议包含属性信息如下:
 *          itemno：项目编号，必选
 *          itemlevel：项目级别，必选
 *          itemname：项目名称，必选
 *          setdate：立项时间，必选
 *          setunit:立项单位,必选
 *          agreeunit：批准单位，必选
 *          conclusion：鉴定结论，可选
 *          itemPartner：{
 *              partner：参与者/信息上报者邮箱，必选
 *              role：参与者角色，可选，默认为1。【含义：0-主持人;1-参与人】
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function uploadEduformItem(eduformItem){
    return axios({
        url:serviceConfig.baseUrl+"/edureform/POST/add",
        method:"POST",
        data:qs.stringify(eduformItem),
    })
}


/**
 * 检索教改项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              awardkeys：奖项关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchEduformItemInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/edureform/GET/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除教改项目信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteEduformItemInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/edureform/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          itemname：项目名称，必选
 *          temno：项目编号，可选
 *          itemlevel：项目级别，可选
 *          setunit：立项单位，可选
 *          setdate：立项时间，可选
 *          agreeunit：批准单位，可选
 *          conclusion：鉴定结论，可选
 *          itemPartner：{
 *                  itemno：项目编号，必选
 *                  partner：参与者/信息上报者邮箱，必选
 *                  role：参与者角色，可选，默认为1。【含义：0-主持人;1-参与人】
 *                  evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function updateEduReformItemInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/edureform/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}


/*************EduReformItem-教改项目模块---end*************/


/*************SciSerrchItem-科研项目基本信息模块---begin*************/

/**
 * 科研信息上报
 * @param sciSerrchItem 科研信息JSON对象,建议包含属性如下:
 *      itemno：项目编号，必选
 *      itemtype：项目类型，必选
 *      itemname：项目名称，必选
 *      setdate：立项时间，必选
 *      agreeunit：批准单位，必选
 *      fee：项目经费
 *      startdate：起始时间
 *      enddate：结项时间
 *      itemPartner：{
 *          partner：参与者/信息上报者邮箱，必选
 *          role：参与者角色，可选，默认为1。【含义：0-主持人;1-参与人】
 *          evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *      }
 */
export function uploadSciSerrchItem(sciSerrchItem){
    return axios({
        url:serviceConfig.baseUrl+"/sciresearchItem/POST/add",
        method:"POST",
        data:qs.stringify(sciSerrchItem),
    })
}

/**
 * 检索科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchSciSerrchItemInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/sciresearchItem/GET/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteSciSerrchItemInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/sciresearchItem/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          itemno：项目编号，必选
 *          itemtype：项目类型，可选
 *          itemname：项目名称，可选
 *          setdate：立项时间，可选
 *          agreeunit：批准单位，可选
 *          fee：项目经费，可选
 *          startdate：起始时间，可选
 *          enddate：结项时间，可选
 *          itemPartner：{
 *              itemno：科研记录编号，必选
 *              partner：参与者/信息上报者邮箱，必选
 *              role：参与者角色，必选，默认为1。【含义：0-主持人;1-参与人】
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function updateSciSerrchItemInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/sciresearchItem/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}


/*************SciSerrchItem-科研项目基本信息模块---end*************/



/*************SciresearchPaper-科研论文信息模块---begin*************/

/**
 * 科研论文信息上报
 * @param sciresearchPaper 科研论文信息JSON对象,建议包含属性如下:
 *          title：论文标题，必选
 *          journalname：期刊名称，必选
 *          journallevel：期刊级别，必选
 *          publishdate：发表日期，必选
 *          volumeno：卷号，必选
 *          seriesno：期号，必选
 *          pagestart：开始页码，必选
 *          pageend：终止页面
 *          doi：doi号，可选
 *          telauthor：通讯作者名称，可选
 *          captureno：收录号，可选
 *          author：{
 *              author：参与者/信息上报者邮箱，必选
 *              rankno：作者排名，必选
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function uploadSciresearchPaper(sciresearchPaper){
    return axios({
        url:serviceConfig.baseUrl+"/paper/POST/add/sciresearch",
        method:"POST",
        data:qs.stringify(sciresearchPaper),
    })
}


/**
 * 检索科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchSciresearchPaperRecord(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/paper/GET/record/sciresearch",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteSciresearchPaperRecord(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/paper/DELETE/record/sciresearch",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          title：论文标题，必选
 *          journalname：期刊名称，可选
 *          journallevel：期刊级别，可选
 *          publishdate：发表日期，可选
 *          volumeno：卷号，可选
 *          seriesno：期号，可选
 *          pagestart：开始页码，可选
 *          pageend：终止页面，可选
 *          doi：doi号，可选
 *          telauthor：通讯作者名称，可选
 *          captureno：收录号，可选
 *          author：{
 *              author：参与者/信息上报者邮箱，必选
 *              workid：论文id，必选
 *              rankno：作者排名，必选
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function updateSciSerrchPaperInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/paper/UPDATE/record/sciresearch",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}

/*************SciresearchPaper-科研论文信息模块---end*************/

/*************SciresearchAward-科研奖项模块---begin*************/

/**
 * 科研奖项信息上报
 * @param sciresearchAward 科研奖项JSON对象,建议包含属性如下:
 *          itemname：项目名称，必选
 *          awardname：奖项名称，必选
 *          awardlevel：奖项级别，必选
 *          unit：颁奖单位，必选
 *          date：获奖时间
 *          itemPartner：{
 *              email：获奖人邮箱号，必选
 *              rankno：排名，可选[number数值类型]
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function uploadSciresearchAward(sciresearchAward){
    return axios({
        url:serviceConfig.baseUrl+"/scirearchAward/POST/add",
        method:"POST",
        data:qs.stringify(sciresearchAward),
    })
}

/**
 * 检索科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchSciSerrchAwardInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/scirearchAward/GET/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteSciSerrchAwardInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/scirearchAward/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}


/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *      itemname：项目名称，必选
 *      awardname：奖项名称，可选
 *      awardlevel：奖项级别，可选
 *      unit：颁奖单位，可选
 *      date：获奖时间，可选
 *      sciresearchAwardPartner：{
 *              awardid：奖项id，必选
 *              email：获奖人邮箱号，必选
 *              rankno：排名，必选[number数值类型]
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *      }
 */
export function updateSciSerrchAwardInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/scirearchAward/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}

/*************SciresearchAward-科研奖项模块---end*************/

/*************PublishBook-出版教材模块---begin*************/

/**
 * 出版教材
 * @param publishBook 出版教材JSON对象,建议包含属性信息如下:
 *          bname：教材名称，必选
 *          bauthor：所有作者信息，可选（逗号分割的字符串）
 *          publishdate：出版日期，可选
 *          publisher：出版社，可选
 *          words：字数，可选
 *          ISBN：国际标准图书号，必选
 *          bplan：规划教材信息
 *          author：{
 *              author：参与者/信息上报者邮箱，必选
 *              rankno：作者排名，必选
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function uploadPublishBook(publishBook){
    return axios({
        url:serviceConfig.baseUrl+"/book/POST/add",
        method:"POST",
        data:qs.stringify(publishBook)
    })
}


/**
 * 检索科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchBookInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/book/GET/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteBookInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/book/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}


/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *      bname：教材名称，必选
 *      bauthor：所有作者信息，可选（逗号分割的字符串）
 *      publishdate：出版日期，可选
 *      publisher：出版社，可选
 *      words：字数，可选
 *      ISBN：国际标准图书号，必选
 *      bplan：规划教材信息，可选
 *      author：{
 *          author：参与者/信息上报者邮箱，必选
 *          workid：教材Id，必选
 *          rankno：作者排名，必选
 *          evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *      }
 */
export function updateBookInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/book/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}

/*************PublishBook-出版教材模块---end*************/


/*************PublishTreatise-出版专著模块---begin*************/

/**
 * 出版专著信息上报
 * @param publishTreatise 出版专著JSON对象,建议包含属性信息如下:
 *          bname：专著名称，必选
 *          bauthor：所有作者信息，可选（逗号分割的字符串）
 *          publishdate：出版日期，可选
 *          publisher：出版社，可选
 *          words：字数，可选
 *          ISBN：国际标准图书号，必选
 *          author：{
 *              author：参与者/信息上报者邮箱，必选
 *              rankno：作者排名，必选
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 * @returns {AxiosPromise}
 */
export function uploadPublishTreatise(publishTreatise){
    return axios({
        url:serviceConfig.baseUrl+"/treatise/POST/add",
        method:"POST",
        data:qs.stringify(publishTreatise)
    })
}

/**
 * 检索科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchTreatiseInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/treatise/GET/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteTreatiseInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/treatise/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}


/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          bname：专著名称，必选
 *          bauthor：所有作者信息，可选（逗号分割的字符串）
 *          publishdate：出版日期，可选
 *          publisher：出版社，可选
 *          words：字数，可选
 *          ISBN：国际标准图书号，必选
 *          author：{
 *              author：参与者/信息上报者邮箱，必选
 *              workid：教材Id，必选
 *              rankno：作者排名，必选
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function updateTreatiseInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/treatise/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}

/*************PublishTreatise-出版专著模块---end*************/


/*************PublishPatent-发标专利模块---begin*************/

/**
 * 发表专利信息上报
 * @param publishPatent 发表专利JSON对象,建议包含属性信息如下:
 *          pname：专利名称，必选
 *          ptype：专利类型，必选（分为4种：发明专利、实用新型、外观设计、国际专利）
 *          unit：专利所有者所在单位，可选
 *          applyno：专利申请号，必选
 *          authorizeno：专利授权号，必选
 *          owner：专利人，可选（多个专利人以逗号分割）
 *          author：{
 *              author：参与者/信息上报者邮箱，必选
 *              rankno：作者排名，必选
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 * @returns {AxiosPromise}
 */
export function uploadPublishPatent(publishPatent){
    return axios({
        url:serviceConfig.baseUrl+"/patent/POST/add",
        method:"POST",
        data:qs.stringify(publishPatent)
    })
}


/**
 * 检索科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchPatentInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/patent/GET/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deletePatentInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/patent/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}


/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *          pname：专利名称，必选
 *          ptype：专利类型，必选（分为4种：发明专利、实用新型、外观设计、国际专利）
 *          unit：专利所有者所在单位，可选
 *          applyno：专利申请号，必选
 *          authorizeno：专利授权号，必选
 *          owner：专利人，可选（多个专利人以逗号分割）
 *          author：{
 *                workid：专利Id，必选
 *                author：参与者/信息上报者邮箱，必选
 *                rankno：作者排名，必选
 *                evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 * }
 */
export function updatePatentInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/patent/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}

/*************PublishPatent-发表专利模块---end*************/


/*************PublishSoftWork-申请软著模块---begin*************/

/**
 * 申请软著信息上报
 * @param publishSoftWork 申请软著信息JSON对象,建议包含属性信息如下:
 *          name：软著名称，必选
 *          registerno：软著登记号，必选
 *          date：发表日期，可选
 *          owner：软著作者，可选（多个软著作者，以逗号分隔）
 *          author：{
 *              author：参与者/信息上报者邮箱，必选
 *              rankno：作者排名，必选
 *              evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *          }
 */
export function uploadPublishSoftWork(publishSoftWork){
    return axios({
        url:serviceConfig.baseUrl+"/softwork/POST/add",
        method:"POST",
        data:qs.stringify(publishSoftWork)
    })
}


/**
 * 检索科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：软著名称，必选
 *              pageSize：每页信息条数，可选
 *              pageNum：当前分页页数，可选
 *              joinerkey：参与人关键字,可选
 *              itemnamekey：教学项目关键字，可选
 *              mode：检索模式：1-and；2-not，可选。
 */
export function searchSoftWorkInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/softwork/GET/record",
        method:"GET",
        params:searchObj,
    })
}

/**
 * 删除科研项目奖项信息
 * @param searchObj 检索条件,建议包含属性信息如下：
 *              email：邮箱账户，必选
 *              id：奖项编号，必选
 */
export function deleteSoftWorkInfo(searchObj){
    return axios({
        url:serviceConfig.baseUrl+"/softwork/DELETE/record",
        method:"GET",
        params:searchObj,
    })
}


/**
 * 更新教学项目奖项信息
 * @param updateObj 建议包含属性信息如下,
 *      name：软著名称，必选
 *      registerno：软著登记号，必选
 *      date：发表日期，可选
 *      owner：软著作者，可选（多个软著作者，以逗号分隔）
 *      author：{
 *      workid：软著Id，必选
 *          author：参与者/信息上报者邮箱，必选
 *          rankno：作者排名，必选
 *          evidence：实证文件，url链接字符串值（文件上传见文件上传接口），可选
 *      }
 */
export function updateSoftWorkInfo(updateObj){
    return axios({
        url:serviceConfig.baseUrl+"/softwork/UPDATE/record",
        method:"POST",
        data:qs.stringify(updateObj),
    })
}

/*************PublishSoftWork-申请软著模块---end*************/